package com.ztom.v2;

/**
 * @author ZhangTao
 */
public class Code13MaximumSubarray {

    public int maxSubArray(int[] nums) {
        if (nums.length == 1) {
            return nums[0];
        }
        int max = nums[0];
        int pre = 0;
        for (int num : nums) {
            // 前面最大的前缀和(可能为负) + 当前值  vs  当前值
            pre = Math.max(pre + num, num);
            max = Math.max(max, pre);
        }

        return max;
    }
}
